Navigation aids for unmanned aerial systems in a gps-denied environment

ABSTRACT

Example navigation aids for increasing the accuracy of a navigation system are disclosed herein. An example method disclosed herein identifying, with an aircraft intent description language (AIDL) aid, an AIDL instruction as associated with a first dynamic activity level of a plurality of dynamic activity levels and determining, with the AIDL aid, an aircraft state to be affected by the AIDL instruction. The example method also includes changing, with a navigation filter, a weighting scheme for a measurement of the aircraft state obtained by an inertial navigation system (INS) of the aircraft and estimating, with the navigation filter, a trajectory of the aircraft based on the weighting scheme and the measurement.

RELATED APPLICATION

This patent claims priority to European Patent Application No.16382318.0, titled “Navigation Aids for Unmanned Aerial Systems in aGPS-Denied Environment,” filed Jul. 5, 2016, which is herebyincorporated by reference in its entirety.

FIELD OF THE DISCLOSURE

This disclosure relates generally to navigation aids and, moreparticularly, to navigation aids for unmanned aerial systems in aGPS-denied environment.

BACKGROUND

Unmanned aerial systems (UAS) employ a navigation system to determine aposition or trajectory of an aircraft, such as an unmanned aerialvehicle (UAV). The navigation system uses a navigation model thatcombines measurements from an inertial navigation system (INS) of theUAV and absolute reference information from a global position system(GPS) to monitor the trajectory of the UAV. However, in some instances,GPS signals are not available or insufficient to obtain reliable data.In such an instance, the navigation system reverts to using a deadreckoning navigation technique, which relies solely on the measurementsfrom the INS. However, measurements from the sensors of the INS areoften noisy and introduce error into the navigation model. This errorquickly propagates and causes the actual trajectory of the UAV todiverge from the estimated trajectory.

SUMMARY

Example navigation aids are disclosed herein. An example methoddisclosed herein includes identifying, with an aircraft intentdescription language (AIDL) aid, an AIDL instruction as associated witha first dynamic activity level of a plurality of dynamic activity levelsand determining, with the AIDL aid, an aircraft state to be affected bythe AIDL instruction. The example method also includes changing, with anavigation filter, a weighting scheme for a measurement of the aircraftstate obtained by an inertial navigation system (INS) of the aircraftand estimating, with the navigation filter, a trajectory of the aircraftbased on the weighting scheme and the measurement.

An example aircraft disclosed herein includes an inertial navigationsystem (INS) to obtain a measurement of an aircraft state, an aircraftintent description language (AIDL) aid to identify an AIDL instructionof an aircraft as associated with a dynamic activity level, the aircraftstate affected by the AIDL instruction, and a navigation filter tochange a weighting scheme for the measurement of the aircraft state andestimate a location of the aircraft based on the weighting scheme andthe measurement.

An example tangible computer readable storage medium includesinstructions that, when executed, cause a machine to at least identifyan AIDL instruction as associated with a high dynamic activity,determine an aircraft state to be affected by the AIDL instruction,change a weighting scheme for a measurement of the aircraft stateobtained by an inertial navigation system (INS) of the aircraft, andestimate a trajectory of the aircraft based on the weighting scheme andthe measurement.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example unmanned aerial vehicle (UAV) in which theexample systems and methods disclosed herein may be implemented.

FIG. 2 is an example navigation system for the example UAV of FIG. 1constructed in accordance with the teachings of this disclosure.

FIG. 3 illustrates an example aircraft intent description language(AIDL) aid and example navigation filter implemented by the examplenavigation system of FIG. 2.

FIG. 4 is a flowchart representative of an example method for estimatingor predicting a position or trajectory of a UAV in a GPS-deniedenvironment and implemented by the example navigation system of FIG. 2.

FIG. 5 is a block diagram of an example processor system structured toexecute machine readable instructions to implement the method of FIG. 4and the example navigation system of FIG. 2.

Certain examples are shown in the above-identified figures and describedin detail below. In describing these examples, like or identicalreference numbers are used to identify the same or similar elements. Thefigures are not necessarily to scale and certain features and certainviews of the figures may be shown exaggerated in scale or in schematicfor clarity and/or conciseness. Additionally, several examples have beendescribed throughout this specification. Any features from any examplemay be included with, a replacement for, or otherwise combined withother features from other examples.

DETAILED DESCRIPTION

Disclosed herein are example methods, apparatus/systems and articles ofmanufacture for increasing the accuracy of a UAS navigation system in aGPS-denied environment. As used herein, the terms GPS and GlobalNavigation Satellite System (GNSS) may be used interchangeably andinclude any satellite system(s) or combination thereof for determiningposition (e.g., NAVSTAR, Gallileo, Baidou, Globalnaya NavigazionnayaSputnikovaya Sistema (GLONASS), etc.). In general, example navigationsystems disclosed herein employ an aircraft intent description language(AIDL) aid to identify aircraft states in which relatively higher noiseor variability is expected due to the signals obtained by the sensors ofthe INS and the maneuvers being performed. This information is used by anavigation filter to modify a weighting scheme in a process model of thenavigation filter. As a result, less error is introduced into theprocess model, thereby increasing the accuracy of the aircraft positionor trajectory estimation when no absolute position or velocity reference(e.g., GPS signal) is available.

Before turning to the detailed aspects of the disclosed navigation aids,a brief description of conventional navigation techniques is provided.In general, UAVs are capable of operating autonomously, i.e., withoutdirect communication with a ground based operator. The UAV follows apreloaded set of instructions intended to execute a mission and returnto base without external intervention. The navigation capabilities ofthese UAVs are fundamental for their success and survivability. Whenoperating in a semi-autonomous or autonomous fashion, the UAV on its ownmust optimally combine the sensor information it has available toachieve a best estimate of its current position and configuration (e.g.,pitch, yaw, etc.).

In general, most known navigation techniques are based on twofundamental methods: position fixing and dead reckoning. UAVs oftenutilize a combination of both. Position fixing relies on devicesmeasuring physical properties external to the aircraft, such as thedistance to given points (or satellites) (e.g., the Global NavigationSatellite System (GNSS)), the position of the Sun or the stars, theEarth's magnetic field, atmospheric properties, the incoming airspeedvelocity and orientation, the location of the horizon, the height overterrain, etc. Dead reckoning is the process of calculating a currentposition by using a previously determined position, or fix, andadvancing that position based upon known or estimated accelerationsand/or speeds over elapsed time and course. In other words, a deadreckoning position solution is the sum of a series of relative positionmeasurements. Dead reckoning techniques are autonomous in the sense thatthey measure physical processes intrinsic to the aircraft, such asaccelerations and angular speeds. In particular, an inertial navigationsystem (INS) of the aircraft uses linear and angular velocities andaccelerations (from the sensor(s)) to estimate the position, orientationand/or velocity of the UAV. The INS may utilize one or more sensors,such as solid-state accelerometers, gyros, magnetometer, static/dynamicpressure sensors and/or any other inertial measurement units (IMUs) thattake into consideration geometric and kinematic relationships. As eachof these sensors is subject to error, the aggregated position solutionerror grows over time. On the other hand, position fixing does notsuffer from error growth as it relies on components external to theaircraft. Another difference between the above-noted methods is thatposition fixing information may not be continuously available, whiledead reckoning always provides a solution as long as the startingposition is known. Thus, most UAVs include a navigation system thatcombines a dead reckoning system such as an INS with several positionfixing devices or systems, including at least one GPS sensor.

The conventional navigation system in known UAS consists of aninformation fusion solution such as an Extended Kalman filter (EKF) thatcombines (e.g., fuses, blends, etc.) the absolute position, velocity andtime (PVT) solution provided by a GPS sensor with a dead reckoningposition provided by an INS. The EKF estimates the position (e.g.,location, trajectory), velocity and angular orientation of the aircraftbased on the combined data. In general, the INS provides the referencetrajectory (determined by the sensors) while the GPS serves as anupdating system. This is mainly due to the fact that the INS measurementfrequency is much higher than the measurement frequency of GPS. In otherwords, the GPS measurements provide an external aid that resets theposition and velocity estimates as determined from the measurements ofthe INS. The combined GPS/INS system works well as long as GPS providesa valid PVT solution because it limits the drift inherent to theaccelerometers, the gyroscopes and other IMUs of the INS.

However, in some instances, a GPS signal is not obtainable or the GPSsignal is relatively weak (e.g., insufficient), referred to herein as aGPS-denied or a GPS-stressed environment. A GPS-denied environment maybe caused by a variety of factors such as the terrain, the weather,Radio Frequency Interference (RFI), intentional jamming (e.g., aspoofing attack, a malicious jammer, etc.), etc. If a UAV is far fromits destination (e.g., a base) and enters a GPS-denied environment, theUAV may have to fly a considerable distance to reach an area in whichGPS signals may again be processed in a reliable manner.

In known UAS GPS-denied environments, the remaining available onboardsensor information of the UAS does not allow the UAS to complete itsassigned mission. Instead, the UAS mission is converted into one ofsurvivability and programmed to return successfully to its base. At themoment the UAS detects it is in a GPS-denied environment, a typicalstrategy may be to use its current navigation estimate (e.g., anestimate of the current position or trajectory), which may still beconsidered to be fairly accurate, and plan (autonomously) a route toreturn to its base. In many instances, equipping a UAS with additionalposition fixing sensors (e.g., that measure the bearing of the sun, thestars, Earth's magnetic field, etc.) is often prohibitive due to size,weight and power (SWaP) constraints of the UAV. Therefore, withoutabsolute position reference measurements, the navigation system entersinto a dead reckoning mode, which inevitably accumulates errors. In thedead reckoning mode, the linear accelerations and velocities areintegrated without measurement corrections (that would otherwise beprovided by the GPS sensor), and a drift in the position estimate isthus inevitable due to cumulative errors. The sensors or IMUs sufferfrom errors from system noise, bias, scale factor, non-orthogonality,temperature, etc. These errors can be considerable and may vary widelydepending upon the quality of the sensors, navigation algorithms andenvironmental conditions. Moreover, in known implementations of the EKF,attitude information also becomes corrupted, which makes the UAS unableto continue flying. In other words, when no absolute position orvelocity reference is available for the navigation system, theestimation method reverts to simple integration of the current statebased upon measured accelerations. Any velocity estimation error that isaccumulated during flight when in this mode is propagated and integratedsuch that at best a linear position error divergence results. As thesebiases accumulate, the divergence grows until there is no longer apossibility that the UAV may recover, especially if its flight range andautonomy are limited, which is usually the case. By the time a UAV hasreacquired a dependable GPS signal, the UAV drift may be so severe thatthe UAV has no chance of reaching its base due to its limited autonomy.

Disclosed herein are example methods, apparatus/systems and articles ofmanufacture that reduce the estimation errors and biases that aretypically introduced into navigation estimates made in a GPS-deniedenvironment. The disclosed methods, apparatus/systems and articles ofmanufacture can increase the survivability of an aircraft. In general,the example navigation systems disclosed herein include an aircraftintent description language (AIDL) aid that identifies the dynamicvariability of the aircraft states. This information is used by thenavigation filter to change a weighting scheme of the state measurementsprovided by the INS. Depending upon the current dynamic behavior of theaircraft, certain aircraft sensors or internal models are more effectivethan others for reconstructing the aircraft state. The navigation filterreacts and changes the weighting scheme of the state measurements forthe affected states. Thus, the example AIDL aid characterizes thevariability expected in certain states, which is then used by thenavigation filter to adaptively or dynamically adjust the filterstructure (e.g., the process model). For example, if a certain state isexpected to experience high noise or variability in the measurementsfrom the associated sensors, the navigation filter modifies the weightof the sensor measurements in the trajectory estimation. In someexamples, the sensor measurements are given less weight and/or thepredicted state measurements are given more weight. If the navigationfilter is an EKF, for instance, the process and measurement noisecovariances of the state can be increased or decreased.

As an example implementation, consider that the indicated dynamicbehavior is to realize a constant turn beginning with a ramp-up inangular velocity, then maintain the angular velocity at a constantvalue, then a ramp-down in angular velocity to a straight flight. Duringflight, winds, in particular turbulence, are responsible for producingunsteady flight. In UAVs, for example, which are relatively lightaircraft, it is not uncommon that winds plus turbulence reach 50% of thecommanded velocities. When these effects are summed into the dynamics,the inertial sensor information may be very noisy with large transienteffects that distort the accuracy of the measurements. Nevertheless, anunderlying dynamic profile is present describing the commanded changesin the aircraft attitude and angular velocity accompanied by controlefforts to maintain a coordinated turn while maintaining lift. Theknowledge of this profile serves to immediately weight more the internaldynamic model in the state reconstruction process, all in the absence ofabsolute position and reference data and direct measurements of externalinfluences such as wind information. The example techniques reduce thedrift in the dead reckoning process. As such, the example navigationsystems achieve a smoother and improved (i.e., more accurate) estimationof the aircraft position, velocity and orientation in the presence ofmany underlying noisy information processes.

Turning now to the figures, FIG. 1 illustrates an example UAV 100 (e.g.,an aircraft) that may implement the example navigation systems andmethods disclosed herein. In the illustrated example, the UAV 100 is afixed-wing aircraft. However, in other examples, the UAV 100 may beother types of aircraft (e.g., a rotary aircraft).

FIG. 2 illustrates an example navigation system 200 implemented by theUAV 100 (FIG. 1). The navigation system 200 includes aircraft intentinformation 202 (e.g., guidance information) stored as aircraft intentdescription language (AIDL) instructions. The aircraft intentinformation 202 models the way the UAV 100 is to be operated duringflight. In general, aircraft intent represents an abstraction of the wayin which an aircraft is instructed to behave by a flight deck (e.g., bya pilot). In the same way that an aircraft exhibits a unique trajectoryas a result of the flight deck input (e.g., from pilot commands andsubject to current environmental conditions such as wind), the aircraftintent is formulated in such a way that the ensuing aircraft motion isunambiguously determined given the current environmental conditions,resulting in a unique computed trajectory. AIDL is a formal languagethat expresses the aircraft intent in a standardized manner. The syntaxof the formal language provides a framework that allows instructions tobe combined into sentences that describe operations. Each operationcontains a complete set of instructions that closes the three degrees offreedom in the equations of motion of a simplified flight model, whichis additionally combined with further flight assumptions such assymmetric flight to close the remaining degrees of freedom andunambiguously define the aircraft trajectory over its operationinterval. Instructions may be thought of as indivisible pieces ofinformation that capture basic commands, guidance modes and controlinputs at the disposal of a pilot and/or a flight management system.

The aircraft intent information 202 (in the AIDL format) is delivered toa Flight Control System (FCS) 204 (e.g., a flight management system) tobe implemented thereby. In general, the AIDL instructions of theaircraft intent information 202 include three algebraic constraints thatare imposed upon the FCS 204. There exists a wide class of differentalgebraic constraints from which the aircraft intent design may beselected. Each of these algebraic constraints and their combination maybe associated with a given desired dynamic system behavior that issubsequently implemented by the FCS 204. The FCS 204 calculates thecommands to be sent to the actuator(s) (e.g., an aileron actuator, anelevator actuator, etc.) to fulfill the guidance commands. In parallel,the AIDL information is sent to an AIDL aid 218, described in furtherdetail herein.

In the illustrated example, the navigation system 200 includes one ormore sensors 206. The sensor(s) 206 include the active or passive,internal or external sensor(s) of the UAV 100 that measure the flightdynamics. The sensor(s) 206 may include any position fixing sensor(s)and/or inertial sensor(s). In the illustrated example, the sensor(s) 206include a GPS sensor 208 for detecting an absolute position of the UAV100. The sensor(s) 206 also include an inertial navigation system (INS)210 that measures or detects changes in position, velocity, etc. The INS210 obtains measurements from one or more sensors 212 a-212 n (e.g., aninertial measurement unit (IMU)). The sensor(s) 212 a-212 n may include,for example, an accelerometer, a gyroscope, a magnetometer, a staticpressure sensor (e.g., an altimeter or barometer), a dynamic pressuresensor, a temperature sensor, etc. In some examples, the navigationsystem 200 is implemented as a simulation model. In such an example, a6-DOF Flight Dynamics Model (FDM) may be used to model the predictedflight dynamics, which is then fed into to the sensor(s) 206. Forexample, the FCS 204 may provide the intended actuator instruction tothe 6-DOF FDM that models the aircraft behavior, which is then detectedby the sensor(s) 206.

In the illustrated example, the navigation system 200 includes anavigation filter 214 that attempts to determine (e.g., estimate,predict) the state of the UAV 100 and outputs an observed trajectory(OT) 216. In general, in a 6-DOF model, an aircraft can be defined bytwelve states: the linear position in the X, Y and Z components; thelinear velocity in the X, Y and Z components; the angular configuration(yaw, pitch and roll); and the angular velocity (rotational rate in theyaw, pitch and roll). Based on these twelve states, the position, thevelocity and the orientation of the UAV 100 can be determined. When GPSsignals are available, the navigation filter 214 fuses themeasurement(s) from the INS 210 (as provided by the sensor(s) 212 a-212n) with an absolute position measurement (e.g., position, velocity,time, etc.) from the GPS sensor 208 to determine the OT 216. The OT 216is fed back to the FCS 204, which continues to monitor and construct theflight control commands based on the OT 216 and the guidance informationfrom the aircraft intent information 202. However, the signals producedby the sensors 212 a-212 n contain error in the form of noise, bias,etc. Therefore, when GPS signals are available, the navigation filter214 uses the absolute position measurements from the GPS sensor 208 as acheck to confirm the accuracy of the position estimate determined fromthe INS 210. The navigation filter 214 combines the measurements fromthe INS 210 and the absolute PVT measurements from the GPS sensor 208 topredict the position, velocity and orientation of the UAV 100 and, thus,the OT 216.

However, in some situations, absolute PVT measurements cannot beobtained, such as when the UAV 100 is in a GPS-denied environment.Without absolute PVT measurements, the navigation system 200 uses thedead reckoning technique to reconstruct the aircraft state and predictthe OT 216. In other words, the navigation filter 214 is tasked withreconstructing the aircraft state based on an incomplete set of inputsensorial data. In such an instance, the INS 210 provides measurementsto the navigation filter 214, which are used to predict the trajectoryof the UAV 100. However, the noise and other error in the signal(s) ormeasurement(s) from the INS 210 introduces error into the process model,which affects the OT 216. In addition, especially during a highlydynamic state, the error in certain state measurements increases. As aresult, error is introduced into the OT 216, which quickly compounds.Within a relatively short period of time, the OT 216 is significantlydifferent than the actual trajectory of the UAV 100.

To increase the accuracy of the OT 216, the example navigation system200 includes an AIDL aid 218 (e.g., an AIDL processor). As mentionedabove, the aircraft intent information 202 (represented by AIDLinstructions) includes information about the guidance settings andmaneuvers to be employed by the UAV 100 to fulfill its intended mission.This information represents the dynamic profile of a flight maneuverbeing executed by the FCS 204. Using the dynamic profile, the AIDL aid218 identifies different levels and nature of variability within theaircraft states depending upon the executed maneuver. Based on thedifferent levels and variability, the navigation filter 214 changes theweighting scheme of the aircraft state measurements obtained by the INS210, thereby improving the predictions and reducing error in the OT 216.

Then, the weighting scheme for the process noise associated with theaffected state(s) in the navigation filter 214 can be changed.Therefore, more or less weight is placed on the affected state(s). Assuch, if the state is expected to experience more variability (e.g.,more noise), less weight can be placed on the state measurements fromthe INS, thereby decreasing the error that would otherwise be induced bythe noisy, unreliable signals. As a result, the example process avoidstracking states that have a lot of variability (e.g., error) and whichwould otherwise corrupt of the states that have reliable values.

As illustrated in the example of FIG. 3, the AIDL aid 218 includes adynamic profile interpreter 300 that identifies a dynamic profile (e.g.,a trajectory class) of the UAV 100 based on the AIDL instructions. Inother words, the dynamic profile interpreter 300 determines the range ofexpected aircraft state velocities and accelerations and expectedmeasurements.

The aircraft intent information 202 provides AIDL guidance informationfor three complementary threads of dynamic behavior: (1) longitudinal(e.g., pitch); (2) lateral (e.g., yaw); and (3) propulsive motion. Thethree threads are the three degrees of freedom that are specified forthe AIDL. Longitudinal behavior describes the motion upward or downward,for example, when the UAV 100 pitches up or down. Lateral behaviordescribes the motion from side-to-side, (e.g., left to right), forexample, yaw. Propulsive motion is the propulsive force provided byengines or other propulsive motion devices of the UAV 100. For anymaneuver, the AIDL guidance information includes at least one activeAIDL instruction for each thread of dynamic behavior that indicates howthe motion in the respective thread is to be constrained.

The AIDL aid 218 includes a dynamic activity level assignor 302 thatcategorizes each behavioral thread and the corresponding instruction(s)into two or more dynamic activity levels (e.g., dynamic states), whichindicate the level or degree of variability to be expected. For example,the dynamic activity level assignor 302 may categorize a behavioralthread or instruction into two dynamic activity levels: a first dynamicactivity level and a second dynamic activity level. The first dynamicactivity level may be, for example, a high dynamic activity level (orhigh dynamic activity) where the velocities or accelerations are goingto be higher than normal (e.g., when significant changes are expected tooccur in certain states). The second dynamic activity level may be, forexample, a low or normal dynamic activity level where little or novariability is expected.

For example, Table 1 illustrates three example maneuver trajectories T1,T2 and T3 and the applicable AIDL instructions for the three threads ofthe dynamic behavior for each of the trajectories T1, T2 and T3. In theillustrated example, T1 represents a longitudinal maneuver trajectory,T2 represents a lateral maneuver trajectory, and T3 represents a lateraland longitudinal maneuver trajectory.

TABLE 1 Trajectory Propulsive Longitudinal Lateral T1: Longitudinal HSVSL/HVS HC Maneuver Trajectory T2: Lateral Maneuver HS HA CL/HCTrajectory T3: Lateral and HS VSL/HVS CL/HC Longitudinal ManeuverTrajectory

The example AIDL instructions have the following definitions:

HS: Hold Speed (Propulsive Profile)

HA: Hold Altitude (Longitudinal Profile)

VSL: Vertical Speed Law (Longitudinal Profile)

HVS: Hold Vertical Speed (Longitudinal Profile)

HC: Hold Course (Lateral Profile)

CL: Course Law (Lateral Profile)

Therefore, for T1, the AIDL instruction for the propulsive thread ofdynamic behavior is a Hold Speed command, the AIDL instruction for thelongitudinal thread of dynamic behavior is a Vertical Speed Law commandor a Hold Vertical Speed command, and the AIDL instruction for thelateral thread of dynamic behavior is a Hold Course command. The dynamicactivity level assignor 302 categorizes or divides a dynamic activityinto a plurality of dynamic activity levels and then assigns eachbehavioral thread and its instruction(s) to the corresponding level. Forexample, depending on the level of activity (e.g., the amount of change)to occur in the longitudinal behavior, the longitudinal thread and thecorresponding instruction are categorized as a first (high) dynamicactivity level or a second (low) dynamic activity level. For instance,an instruction that commands a 15° pitch increase for the longitudinalmotion thread may be assigned to the first (high) dynamic activitylevel, whereas an instruction that commands a 2° pitch increase may beassigned to the second (low) dynamic activity level. In some examples,the dynamic activity level assignor 302 compares the AIDL instructionand/or the associated maneuver to a threshold to determine whether thedynamic state is in the first (high) or second (low) dynamic activitylevel. For example, if the AIDL instruction or maneuver is associatedwith 10° or higher change in pitch, then the dynamic activity levelassignor determines the AIDL instruction is a high dynamic activitylevel. In other examples, more or fewer categories or levels may bedefined (e.g., a medium dynamic activity level, medium-low dynamicactivity level, medium-high dynamic activity level, etc.).

In the illustrated example, the AIDL aid 218 includes an aircraft statemapper 304 that identifies or maps the state(s) or state vector(s) thatare affected by each thread of dynamic behavior and the correspondinginstruction. For example, Table 2 illustrates an example mapping betweenthe state(s) or state vector element(s) most directly affected by achange in variability of the AIDL instruction(s) with the referencetrajectories T1, T2 and T3.

TABLE 2 Active Instruction(s) State Vector Element(s) HA Altitude CL/HCHorizontal Position Vector, Horizontal Speed Vector, Yaw Angle VSL/HVSAltitude, Vertical Speed, Pitch Angle

For example, in a VSL or HVS command, one of the states most affected bythe AIDL instruction is the altitude. Therefore, when executing a VSL orHVS AIDL instruction that has been categorized as a first (high) dynamicactivity level, the altitude is expected to experience high variabilityor noise in the measurements from the sensor measuring the state (e.g.,an accelerometer). Additionally or alternatively, another state that maybe most affected by a VSL or HVS command is the pitch angle. Therefore,when executing a first (high) dynamic activity level AIDL instructionfor a pitch up maneuver (e.g., increasing the velocity in the Z orvertical direction and/or the pitch angle), one or more sensorsassociated with measuring the pitch angle are expected to experiencemore noise and/or variability (e.g., from wind) in the signal. In otherexamples, more or fewer states may be affected by an AIDL instruction.By mapping the AIDL instruction(s) to the state vector element(s), theAIDL aid 218 determines the aircraft state(s) to be affected by an AIDLinstruction.

Once the state(s) for an AIDL instruction are identified, a weightmodifier 306 changes the weight given to the measurements for thestate(s) as measured by the sensor(s) of the INS 210. In other words, byidentifying the state(s) that are going to be affected and, thus, morevariable, less weight is placed on the measurements from the INS 210 ofthose states when reconstructing the state of the aircraft. For example,if the navigation filter 214 employs an EKF, the process or measurementnoise covariances can be modified. As an example, when a state entersinto the first (high) dynamic activity level as a result of the currentAIDL instruction, the process noise covariance in Q corresponding to theaffected aircraft state is divided by a factor of 10. As a result, theaircraft state as measured by the INS 210 is given less weight, due tothe decrease in the covariance factor. Otherwise, when in the second(low) dynamic activity level, the same process noise covariance term ismultiplied by a factor of 10. In other examples, more or fewercategories or levels may be defined, and different weighting factors maybe assigned to each level. For example, the AIDL aid 218 may categorizethe threads of dynamic behavior into a first (high), second(medium-high), third (medium-low), and fourth (low), wherein a first(high) dynamic activity level state is multiplied by a factor of 10, asecond (medium-high) dynamic activity level state is multiplied by afactor of 5, a third (medium-low) dynamic activity level state isdivided by a factor of 5, and a fourth (low) dynamic activity levelstate is divided by a factor of 10. In the illustrated example, theweight modifier 306 is implemented in the navigation filter 214.However, in other examples, the weight modifier 306 may be implementedby the AIDL aid 218.

Additionally or alternatively, the weight modifier 306 assigns more orless weight to the state as predicted by the internal dynamic model. Forexample, the EKF process is generally separated into a predictor processand an observer process, where the state is first propagated forwardusing state equations (i.e., the predicted state or the internal dynamicmodel), and then the observer equations follow second in which thepredicted state is updated. In the illustrated example, the navigationfilter 214 includes an internal dynamic state modeler 308 that predictshow the state is evolving with time (e.g., the internal dynamic model),and a measured state modeler 310 updates the predicated state withperiodic measurements from the INS 210, which are received at differentfrequencies, to determine how the state is evolving over time. Insteadof relying heavily on the measurements from the INS 210 during theobserver process, the weight modifier 306 changes the weighting schemeto place more weight on the state measurements as propagated during thepredictor process (e.g., from the internal dynamic state modeler 308).As a result, less drift is entered into the estimation by the noisysensor signals. Thus, the process noise and measurement noise matrices Qand R define a weighting process within the EKF that either gives morecredit to the state propagated by the internal dynamic model or thestate determined by the measurements from the INS 210. Therefore, thenoisier the sensor measurements are, the more relative weight may beassigned to the internal state propagation as more confidence may beplaced in the predictions than in the measured values. For example,changing the weighting scheme for the measurement may include increasingor decreasing a covariance factor of the measurement in at least one ofa process noise matrix Q or a measurement noise matrix R of the EKF.

In some examples, one or more relative or absolute augmentation aids maybe implemented in combination with the AIDL aid 222 to increase theaccuracy of the trajectory estimation. Relative augmentation aidsinclude, for example, a dynamic model aid (e.g., which employs a dynamicaircraft performance model), a wind estimation aid, an optical flow aid(e.g., which calculates ground velocity of an aircraft based on cameraimages), stochastic trajectory prediction and/or redundant sensorconfigurations. Absolute augmentation aids include, for example, GPSvector tracking (e.g., tightly integrated inertial navigation), softwaredefined radio (SDR) aids, cooperative navigation aids, Signal ofOpportunity (SOP) navigation aids and/or terrain-based localizationtechniques (e.g., a digital terrain system (DTS), vision-basednavigation, etc.).

While an example manner of implementing the navigation system 200 isillustrated in FIGS. 2 and 3, one or more of the elements, processesand/or devices illustrated in FIGS. 2 and 3 may be combined, divided,re-arranged, omitted, eliminated and/or implemented in any other way.Further, the example aircraft intent information 202, the example FCS204, the example sensor(s) 206, the example GPS sensor 208, the exampleINS 210, the example sensors 212 a-212 n, the example navigation filter214, the example AIDL aid 218, the example dynamic profile interpreter300, the example dynamic activity level assignor 302, the exampleaircraft state mapper 304, the example weight modifier 306, the exampleinternal dynamic state generator 308, the example measured state modeler310 and/or, more generally, the example navigation system 200 of FIGS. 2and 3 may be implemented by hardware, software, firmware and/or anycombination of hardware, software and/or firmware. Thus, for example,any of the example aircraft intent information 202, the example FCS 204,the example sensor(s) 206, the example GPS sensor 208, the example INS210, the example sensors 212 a-212 n, the example navigation filter 214,the example AIDL aid 218, the example dynamic profile interpreter 300,the example dynamic activity level assignor 302, the example aircraftstate mapper 304, the example weight modifier 306, the example internaldynamic state generator 308, the example measured state modeler 310and/or, more generally, the example navigation system 200 could beimplemented by one or more analog or digital circuit(s), logic circuits,programmable processor(s), application specific integrated circuit(s)(ASIC(s)), programmable logic device(s) (PLD(s)) and/or fieldprogrammable logic device(s) (FPLD(s)). When reading any of theapparatus or system claims of this patent to cover a purely softwareand/or firmware implementation, at least one of the example aircraftintent information 202, the example FCS 204, the example sensor(s) 206,the example GPS sensor 208, the example INS 210, the example sensors 212a-212 n, the example navigation filter 214, the example AIDL aid 218,the example dynamic profile interpreter 300, the example dynamicactivity level assignor 302, the example aircraft state mapper 304, theexample weight modifier 306, the example internal dynamic stategenerator 308 and/or the example measured state modeler 310 is/arehereby expressly defined to include a tangible computer readable storagedevice or storage disk such as a memory, a digital versatile disk (DVD),a compact disk (CD), a Blu-ray disk, etc. storing the software and/orfirmware. Further still, the example navigation system 200 of FIGS. 2and 3 may include one or more elements, processes and/or devices inaddition to, or instead of, those illustrated in FIGS. 2 and 3, and/ormay include more than one of any or all of the illustrated elements,processes and devices.

A flowchart representative of example method for implementing thenavigation system 200 of FIGS. 2 and 3 is shown in FIG. 4. In thisexample, the method may be implemented using machine readableinstructions that comprise a program for execution by a processor suchas the processor 512 shown in the example processor platform 500discussed below in connection with FIG. 5. The program may be embodiedin software stored on a tangible computer readable storage medium suchas a CD-ROM, a floppy disk, a hard drive, a digital versatile disk(DVD), a Blu-ray disk, or a memory associated with the processor 512,but the entire program and/or parts thereof could alternatively beexecuted by a device other than the processor 512 and/or embodied infirmware or dedicated hardware. Further, although the example program isdescribed with reference to the flowchart illustrated in FIG. 4, manyother methods of implementing the example navigation system 200 mayalternatively be used. For example, the order of execution of the blocksmay be changed, and/or some of the blocks described may be changed,eliminated, or combined.

As mentioned above, the example method of FIG. 4 may be implementedusing coded instructions (e.g., computer and/or machine readableinstructions) stored on a tangible computer readable storage medium suchas a hard disk drive, a flash memory, a read-only memory (ROM), acompact disk (CD), a digital versatile disk (DVD), a cache, arandom-access memory (RAM) and/or any other storage device or storagedisk in which information is stored for any duration (e.g., for extendedtime periods, permanently, for brief instances, for temporarilybuffering, and/or for caching of the information). As used herein, theterm tangible computer readable storage medium is expressly defined toinclude any type of computer readable storage device and/or storage diskand to exclude propagating signals and to exclude transmission media. Asused herein, “tangible computer readable storage medium” and “tangiblemachine readable storage medium” are used interchangeably. Additionallyor alternatively, the example method of FIG. 4 may be implemented usingcoded instructions (e.g., computer and/or machine readable instructions)stored on a non-transitory computer and/or machine readable medium suchas a hard disk drive, a flash memory, a read-only memory, a compactdisk, a digital versatile disk, a cache, a random-access memory and/orany other storage device or storage disk in which information is storedfor any duration (e.g., for extended time periods, permanently, forbrief instances, for temporarily buffering, and/or for caching of theinformation). As used herein, the term non-transitory computer readablemedium is expressly defined to include any type of computer readablestorage device and/or storage disk and to exclude propagating signalsand to exclude transmission media. As used herein, when the phrase “atleast” is used as the transition term in a preamble of a claim, it isopen-ended in the same manner as the term “comprising” is open ended.

Turning in detail to the drawings, FIG. 4 is a flowchart illustrating anexample method 400 to implement the example navigation system 200 ofFIG. 2 to estimate a position (e.g., location) or a trajectory of anaircraft, such as the UAV 100 (FIG. 1). During normal navigation whenabsolute position information is available (e.g., from the GPS sensor),the navigation system 200 uses a combination of the measurements fromthe INS 210 and the absolute position information (e.g., from the GPSsensor 208) to determine the position or trajectory of the UAV 100. Atblock 402, the navigation system 200 determines whether the UAV 100 isin a GPS-denied environment by detecting the availability and/orstrength of the GPS signal. In some examples, the determination is madeby the navigation filter 214. If the navigation filter 214 determinesGPS signal is available and sufficient, the navigation system 200continues to operate as normal. In particular, at block 404, thenavigation filter 214 uses the absolute PVT measurements from the GPSsensor 208 and the measurement(s) from the INS 210 to determine thetrajectory of the UAV 100. The navigation system 200 then continues tomonitor the presence and strength the GPS signals (block 402).

If the navigation filter 214 determines the UAV 100 is in a GPS-deniedenvironment (at block 402), the AIDL aid 218 categorizes the threethreads of dynamic behavior (longitudinal, lateral and propulsivemotion) into two or more dynamic activity levels (e.g., high and lowdynamic activity levels) (block 406). For example, a first (high)dynamic activity level for the longitudinal thread may be an increase inpitch greater than or equal to about 15°, and a second (low) dynamicactivity level for the longitudinal thread may be an increase in pitchless than about 15°.

At block 408, the AIDL aid 218 receives an AIDL instruction from theaircraft intent information 202. The AIDL instruction is associated amaneuver (e.g., a longitudinal maneuver, a lateral maneuver, etc.) forthe UAV 100. At block 410, the AIDL aid 218 determines if the AIDLinstruction is associated with the first (high) dynamic activity levelin one of the three threads of dynamic behavior. In some examples, theAIDL aid 218 compares the AIDL instruction and/or the correspondingmaneuver to a threshold and determines whether the AIDL instructionand/or the corresponding maneuver meets the threshold. In some examples,if the AIDL instruction is not identified as the first (high) dynamicactivity level (e.g., the AIDL instruction is associated with the second(low) dynamic activity level), the navigation filter 214 estimates theposition or trajectory of the UAV 100 using the measurement(s) from theINS 210 without changing the weight of the measurement(s) (block 412).In other examples, if the AIDL instruction is associated with the second(low) dynamic activity level, the weight modifier 306 changes theweighting scheme to apply more weight to the state as measured by theINS 210. In some examples, multiple dynamic activity levels may beestablished, and each level may correspond to a different weight to beapplied to the corresponding state.

If the AIDL instruction is identified as the first (high) dynamicactivity level (e.g., a high dynamic activity), at block 414 the AIDLaid 218 maps the AIDL instruction to the one or more state(s) (or statevector(s)) that are affected by the AIDL instruction, namely, theaircraft states that are expected to experience a high dynamic activitylevel. Once the state(s) are identified, at block 416 the navigationfilter 214 changes a weighting scheme (e.g., a weight) for a measurementof the aircraft state obtained by the INS 210. In some examples, theweighting scheme for the measurement is changed in response to the UAV100 being in a GPS-denied environment. In some examples, changing theweighting scheme includes assigning a lower weight to the measurementobtained by the INS 210. For example, the process or measurement noisecovariance factors may be decreased. Additionally or alternatively, insome examples more or less weight is assigned to the state as determinedby the internal dynamic state modeler 308. For example, the measurementobtained by the INS 210 may be a first measurement, and a secondmeasurement may be determined based on the internal dynamic modelgenerated by the internal dynamic state modeler 308. In some suchexamples, changing the weighting scheme for the first measurement (e.g.,the measurement obtained by the INS 210) includes assigning a higherweight to the second measurement (e.g., the measurement determined bythe internal dynamic model). At block 412, the navigation filter 214uses the modified or altered weighting scheme and the measurement toestimate (or update an estimate) of the position or the trajectory ofthe UAV 100. The navigation filter 214 estimates the position ortrajectory (e.g., the OT 216) without an absolute position measurement.By decreasing the weight placed on the noisy state measurements, lesserror is introduced into the navigation model, thereby improving theaccuracy of the position or trajectory estimation.

In some examples, the weighting scheme is changed in response todetection of noisy instantaneous measures of the dynamic behavior. Forexample, if noisy signals from the INS 210 are received by thenavigation filter 214, the navigation filter 214 changes the weightingscheme to place less weight on the aircraft state(s) as measured by theINS 210.

At block 418, the navigation system 200 determines if anotherinstruction is to be implemented by the UAV 100. If the aircraft haslanded or the mission is complete, for example, the example method 400ends (block 420). Otherwise, the AIDL aid 218 continues to identifywhether the AIDL instructions are associated with high dynamic activitylevels and the navigation filter 214 continues to modify the weightingscheme accordingly.

FIG. 5 is a block diagram of an example processor platform 500 capableof executing the instructions to implement the method 400 of FIG. 4 andthe navigation system 200 of FIGS. 2 and 3. The processor platform 500can be, for example, a server, a personal computer, a mobile device(e.g., a cell phone, a smart phone, a tablet such as an iPad™), apersonal digital assistant (PDA), an Internet appliance, a DVD player, aCD player, a digital video recorder, a Blu-ray player, a gaming console,a personal video recorder, or any other type of computing device.

The processor platform 500 of the illustrated example includes aprocessor 512. The processor 512 of the illustrated example includeshardware that may implement one or more of the example aircraft intentinformation 202, the example FCS 204, the example sensor(s) 206, theexample GPS sensor 208, the example INS 210, the example sensors 212a-212 n, the example navigation filter 214, the example AIDL aid 218,the example dynamic profile interpreter 300, the example dynamicactivity level assignor 302, the example aircraft state mapper 304, theexample weight modifier 306, the example internal dynamic stategenerator 308 and/or the example measured state modeler 310. Forexample, the processor 512 can be implemented by one or more integratedcircuits, logic circuits, microprocessors or controllers from anydesired family or manufacturer.

The processor 512 of the illustrated example includes a local memory 513(e.g., a cache). The processor 512 of the illustrated example is incommunication with a main memory including a volatile memory 514 and anon-volatile memory 516 via a bus 518. The volatile memory 514 may beimplemented by Synchronous Dynamic Random Access Memory (SDRAM), DynamicRandom Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM)and/or any other type of random access memory device. The non-volatilememory 516 may be implemented by flash memory and/or any other desiredtype of memory device. Access to the main memory 514, 516 is controlledby a memory controller.

The processor platform 500 of the illustrated example also includes aninterface circuit 520. The interface circuit 520 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), and/or a PCI express interface.

In the illustrated example, one or more input devices 522 are connectedto the interface circuit 520. The input device(s) 522 permit(s) a userto enter data and commands into the processor 512. The input device(s)can be implemented by, for example, an audio sensor, a microphone, acamera (still or video), a keyboard, a button, a mouse, a touchscreen, atrack-pad, a trackball, isopoint and/or a voice recognition system.

One or more output devices 524 are also connected to the interfacecircuit 520 of the illustrated example. The output devices 524 can beimplemented, for example, by display devices (e.g., a light emittingdiode (LED), an organic light emitting diode (OLED), a liquid crystaldisplay, a cathode ray tube display (CRT), a touchscreen, a tactileoutput device, a printer and/or speakers). The interface circuit 520 ofthe illustrated example, thus, typically includes a graphics drivercard, a graphics driver chip or a graphics driver processor.

The interface circuit 520 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via a network526 (e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 500 of the illustrated example also includes oneor more mass storage devices 528 for storing software and/or data.Examples of such mass storage devices 528 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAIDsystems, and digital versatile disk (DVD) drives.

Coded instructions 532 to implement the example method 400 of FIG. 4 maybe stored in the mass storage device 528, in the volatile memory 514, inthe non-volatile memory 516, and/or on a removable tangible computerreadable storage medium such as a CD or DVD.

From the foregoing, it will be appreciated that the above disclosedmethods, apparatus/systems and articles of manufacture improvepredictions and reduce navigation system error in a UAS navigating aGPS-denied environment. Example navigation systems disclosed hereinutilize the indicated dynamic behavior being pursued (e.g., based on theAIDL instruction(s)) and modify or change the underlying process modeland/or measurement model covariance terms which, in effect, define theinformation fusion process. As a result, the disclosed navigationsystems produce an observed trajectory that more clearly resembles theactual trajectory being flown by a UAS. This technique has beendemonstrated to provide superior performance in uncertain settings suchas the GPS-denied scenarios described herein. While the techniquesdisclosed herein are described in connection with a UAV, it isunderstood that the example techniques may similarly be implemented inany manned aircraft that also employs a navigation system with anavigation filter that estimates an aircraft location or trajectory.

Although certain example methods, apparatus/systems and articles ofmanufacture have been disclosed herein, the scope of coverage of thispatent is not limited thereto. On the contrary, this patent covers allmethods, apparatus/systems and articles of manufacture fairly fallingwithin the scope of the claims of this patent.

What is claimed is:
 1. A method comprising: identifying, with anaircraft intent description language (AIDL) aid, an AIDL instruction asassociated with a first dynamic activity level of a plurality of dynamicactivity levels; determining, with the AIDL aid, an aircraft state to beaffected by the AIDL instruction; changing, with a navigation filter, aweighting scheme for a measurement of the aircraft state obtained by aninertial navigation system (INS) of the aircraft; and estimating, withthe navigation filter, a trajectory of the aircraft based on theweighting scheme and the measurement.
 2. The method of claim 1, whereinthe plurality of dynamic activity levels include the first dynamicactivity level and a second dynamic activity level, the first dynamicactivity level associated with a high dynamic activity and the seconddynamic activity level associated with a low dynamic activity.
 3. Themethod of claim 2, wherein changing the weighting scheme for themeasurement includes assigning a lower weight to the measurement.
 4. Themethod of claim 1, wherein the navigation filter includes an ExtendedKalman Filter (EKF), and wherein changing the weighting scheme for themeasurement includes increasing or decreasing a covariance factor of themeasurement in at least one of a process noise matrix Q or a measurementnoise matrix R of the EKF.
 5. The method of claim 1, wherein themeasurement is a first measurement, further including: generating aninternal dynamic model of the aircraft; and determining a secondmeasurement for the aircraft state based on the internal dynamic model.6. The method of claim 5, wherein changing the weighting scheme for thefirst measurement includes assigning a higher weight to the secondmeasurement.
 7. The method of claim 1, wherein identifying the AIDLinstruction as a high dynamic activity includes: comparing a maneuverassociated with the AIDL instruction to a threshold; and identifying theAIDL instruction as the first dynamic activity level based on thecomparison.
 8. The method of claim 1 further including determining whenthe aircraft is in a GPS-denied environment.
 9. The method of claim 8further including changing the weighting scheme for the measurement ofthe aircraft state in response to the aircraft being in the GPS-deniedenvironment.
 10. The method of claim 1, wherein the navigation filterestimates the trajectory of the aircraft without an absolute positionmeasurement.
 11. An aircraft comprising: an inertial navigation system(INS) to obtain a measurement of an aircraft state; an aircraft intentdescription language (AIDL) aid to identify an AIDL instruction of anaircraft as associated with a dynamic activity level, the aircraft stateaffected by the AIDL instruction; and a navigation filter to change aweighting scheme for the measurement of the aircraft state and estimatea location of the aircraft based on the weighting scheme and themeasurement.
 12. The aircraft of claim 11, wherein the navigation filteris to change the weighting scheme for the measurement by assigning alower weight to the measurement if the dynamic activity level is a highdynamic activity level.
 13. The aircraft of claim 11, wherein thenavigation filter includes an Extended Kalman Filter (EKF), and whereinthe EKF is to increase or decrease a covariance factor of themeasurement in at least one of a process noise matrix Q or a measurementnoise matrix R of the EKF.
 14. The aircraft of claim 11, wherein thenavigation filter estimates the location of the aircraft without anabsolute position measurement.
 15. The aircraft of claim 11, wherein theINS includes at least one of an accelerometer, a gyroscope, amagnetometer, a static pressure sensor, a dynamic pressure sensor or atemperature sensor.
 16. A tangible computer readable storage mediumcomprising instructions that, when executed, cause a machine to atleast: identify an AIDL instruction as associated with a high dynamicactivity; determine an aircraft state to be affected by the AIDLinstruction; change a weighting scheme for a measurement of the aircraftstate obtained by an inertial navigation system (INS) of the aircraft;and estimate a trajectory of the aircraft based on the weighting schemeand the measurement.
 17. The tangible computer readable storage mediumof claim 16, wherein the measurement is a first measurement, theinstructions further to cause the machine to: generate an internaldynamic model of the aircraft; and determine a second measurement forthe aircraft state based on the internal dynamic model.
 18. The tangiblecomputer readable storage medium of claim 17, wherein the instructions,when executed, cause the machine to change the weighting scheme for thefirst measurement by assigning a higher weight to the secondmeasurement.
 19. The tangible computer readable storage medium of claim16, wherein the instructions, when executed, are to identify theaircraft AIDL instruction as the high dynamic activity by: comparing amaneuver associated with the AIDL instruction to a threshold; andidentifying the AIDL instruction as the high dynamic activity based onthe comparison.
 20. The tangible computer readable storage medium ofclaim 16, wherein the instructions, when executed, cause the machine toestimate the trajectory of the aircraft without an absolute positionmeasurement.